(1) Field of the Invention
The present invention relates to a method and a system for monitoring execution of commands for input/output devices by using control parameters sent to a controller of the input-output devices by one of several host computers sharing the input/output devices in a computer system.
(2) Description of the Related Art
A computer system in which a plurality of peripheral units are externally connected to a plurality of host computers via a bus and the host computers share the peripheral units is known. The peripheral units include, for example, disk storage devices. Each peripheral unit includes a controller which connects the peripheral unit through the bus interface to the host computers.
In the above-mentioned computer system, one of the host computers sends an input/output (I/O) request for input/output devices of one of the peripheral units. The controller of the peripheral unit receives the I/O request, interprets it, and controls the execution of the command for the I/O devices. A LUN (logical unit number) is assigned to each of the I/O devices, and the controller recognizes each of the I/O devices in the peripheral unit by the LUN of the I/O request.
A controller which is provided with a command status.table retaining command entries from host computers in a computer system of the above-mentioned type is known.
When the controller receives an I/O request from one of the host computers, the controller interprets the I/O request, and adds the contents of the command to a command status table as a command entry. In the command status table, a number of command entries from the host computers are retained, and information necessary to manage the order of execution of individual command entries is defined.
After the command entry is retained in the command status table, the controller transmits a disconnection request to the host computer via the bus. The controller is temporarily disconnected from the host computer at a given time after the receipt of the disconnection request by the host computer.
After the disconnection is performed, the controller selects an appropriate command to be executed from the command entries of the command status table, and schedules the execution of the selected command. After this procedure, the controller transmits a reconnection request to the host computer. After the connection between the controller and the host computer is performed, the controller performs the execution of the selected command for the I/O device. After this, the controller transmits an I/O request completion notice to the host computer via the bus. When the controller has waited a certain length time for an answer of the I/O device to the request but has not received it after the time-out period, the controller transmits an I/O error notice to the host computer.
Japanese Laid-Open Patent Application No. 53-84638 discloses a monitoring system in which a CPU and I/O devices are connected by a controller. The controller is provided with a timer in which a fixed time-out.period is retained. The CPU sends an I/O request for one of the I/O devices through the controller. When the controller has waited the time-out period for an answer from the I/O device to the request but has not received it after the time-out period, the controller transmits an error signal to the CPU.
Japanese Laid-Open Patent Application No. 2-311938 discloses a memory device control system in which host computers and memory devices are connected by a controller. The controller is provided with timers for individual memory devices. In each timer, a fixed time-out period is retained. One of the host computers sends an access request for one of the memory devices through the controller. The controller monitors an elapsed time from the time the request is received. When the controller has waited the time-out period for an answer of the memory device to the request but has not received it after the time-out period, the controller stops the operation of the memory device, causing an abnormal end, and proceeds to a processing of a next access request received from the host computers.
However, in the controllers of the above-mentioned publications, the time-out period retained in the controller is a fixed length of time. If the fixed time-out period for the host computer is less than a time for the I/O device to complete the execution of the command, the controller automatically sends an error to the host computer before the execution of the command for the I/O device is complete. In such a case, the host computer cannot recognize the cause of the error.
Further, in a computer system which monitors execution of commands for input/output devices based on individual time-out periods of host computers sharing the I/O devices, the host computers generally operate on different operating systems and the time-out periods of the host computers may be different from each other. According to the controllers of the above-mentioned publications, it is difficult to effectively monitor the execution of all the commands sent by individual host computers. Practically, when a problem on the monitoring of the command execution with respect to a particular one of the host computers actually occurs, it is found that a countermeasure should be taken against the problem. In order to resolve the problem, the firmware of the controller must be substantially changed.